package com.dms.domain.system.entity.response;

import com.dms.domain.system.entity.Role;
import com.dms.domain.system.entity.User;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.BeanUtils;

import javax.persistence.Id;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/** @author 25377 */
@Getter
@Setter
public class UserResult implements Serializable {

  /** ID */
  @Id private String id;
  /** 手机号码 */
  private String mobile;
  /** 用户名称 */
  private String username;
  /** 密码 */
  private String password;

  /** 启用状态 0为禁用 1为启用 */
  private Integer enableState;
  /** 创建时间 */
  private Date createTime;

  private String companyId;

  private String companyName;

  /** 部门ID */
  private String departmentId;

  /** 入职时间 */
  private Date timeOfEntry;

  /** 聘用形式 */
  private Integer formOfEmployment;

  /** 工号 */
  private String workNumber;

  /** 管理形式 */
  private String formOfManagement;

  /** 工作城市 */
  private String workingCity;

  /** 转正时间 */
  private Date correctionTime;

  /** 在职状态 1.在职 2.离职 */
  private Integer inServiceStatus;

  private String departmentName;

  private List<String> roleIds = new ArrayList<>();

  public UserResult(User user) {
    BeanUtils.copyProperties(user, this);
    for (Role role : user.getRoles()) {
      this.roleIds.add(role.getId());
    }
  }
}
